System and method for WiFi video streaming

ABSTRACT

A video or multimedia distribution system receives multiple video streams and transcodes them into a single stream of UDP packets with each of the plurality of video data packets for respective ones of the video streams being assigned a port number corresponding to the respective video stream. The UDP packets are routed to a plurality of Access Points (APs) for transmission. A User Equipment (UE) communicates with the APs and selects one of the video streams for viewing on the UE by selecting the port number corresponding to the desired video stream. A first processor in the UE identifies and stores UDP packet data having the selected port number and a second processor retrieves and plays the video stream on a display. The UE can “change channels” to view other video streams by changing the port number to the port number of the desired video stream.

RELATED APPLICATIONS

This application is a continuation-in-part of U.S. application Ser. No.13/363,943 filed on Feb. 1, 2012, which is a continuation-in-part ofU.S. application Ser. No. 13/093,998 filed on Apr. 26, 2011, which is acontinuation-in-part of U.S. application Ser. No. 12/958,296 filed onDec. 1, 2010, which is a continuation-in-part of U.S. application Ser.No. 12/616,958 filed on Nov. 12, 2009, which is a continuation-in-partof U.S. application Ser. No. 12/397,225 filed on Mar. 3, 2009, now U.S.Pat. No. 7,970,351, the entire disclosures and content of which arehereby incorporated by reference in their entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is directed generally to wireless communicationdevices and, more particularly, to a system and method of videostreaming of multiple video channels using wireless communicationdevices.

2. Description of the Related Art

Wireless communication networks have become commonplace. A vast array ofbase stations is provided by a wireless service provider to form apublic mobile land network (PLMN). A number of known PLMNs are providedby different service providers and may or may not be compatible witheach other depending on the particular implementation of the network.Wireless communication devices, such as cell phones, personalcommunication system (PCS) devices, personal digital assistant (PDA)devices, and web-enabled wireless devices communicate with the variousbase stations using one or more known communication protocols. Whileearly cell phone devices were limited to analog operation and voice-onlycommunication, modern wireless devices use digital signal protocols andhave sufficient bandwidth to enable the transfer of voice signals, imagedata, and even video streaming. In addition, web-enabled devices providenetwork access, such as Internet access.

In a typical situation, the individual wireless communication devicescommunicate with one or more base stations. Even when two wirelesscommunication devices are located a few feet from each other, there isno direct communication between the wireless devices. That is, thewireless devices communicate with each other via one or more basestations and other elements of the respective PLMNs of the two wirelesscommunication devices.

Conventional personal computers (PC) typically include one or morewireless interfaces, such as Bluetooth and WiFi, to permit the easyconnection of external devices to the PC (using Bluetooth, for example)or to simplify the implementation of a home network with wirelessrouters (using WiFi, for example) that establish a communication linkbetween the PC and the router to thereby provide network access. Thesame WiFi connections are often used on laptop PCs to gain networkaccess (e.g., the Internet) in hotels, airports, coffee shops, and thelike. As is known in the art, the user must search for an availablewireless network and select one of the available networks for connectionthereto. Sometimes, a password and encryption are required to connect tothe selected network.

State of the art mobile communication devices typically include anetwork transceiver to communicate with the service provider PLMN, asdescribed above, and one or more short-range transceivers, such asBluetooth and WiFi. The Bluetooth transceiver is often used to establisha connection with an automobile sound system to facilitate hands-freecommunication with the service provider PLMN using the networktransceiver. The WiFi interface in the mobile communication devices canbe used to provide network access (e.g., the Internet) in the samemanner described above with respect to PCs and laptop computers. Thatis, the user must search for an available wireless network and selectone of the available networks for connection thereto.

A new family of computing devices, such as tablet computers andelectronic readers, have wireless communication capability as well. Insome cases, the computing devices include both network transceivers andshort-range transceivers, such as those described above. As can beappreciated, the PLMN implementation typically requires a contract witha service provider. In some tablet computers and electronic readers, thenetwork transceiver has been eliminated, thus eliminating the need for aservice provider contract, but also eliminating the ability tocommunicate via the service provider PLMN. With this type of device,network access is available only through a short-range transceiver thatcommunicates with an access point (AP), such as may be found in hotels,airports, coffee shops, and the like. The APs are typically implementedas wireless access points and the portable computing device must connectto the AP in the same manner described above with respect to PCs andlaptop computers. That is, the user must search for an availablewireless network and select one of the available networks for connectionthereto.

A popular use for network access is to download video or multimediadata. As can be appreciated by those skilled in the art, a request ordemand for multimedia data requires a significant amount of bandwidth.In a public setting, such as an airport, simultaneous or overlappingrequests for on-demand video will cause a slow down in the delivery ofdata to all devices connected to the particular AP.

Therefore, it can be appreciated that there is a need for the deliveryof streaming video from APs to wireless communication devices in aneffective manner without causing a slow down at the AP. The presentinvention provides this, and other advantages, as will be apparent fromthe following detailed description and accompanying figures.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

FIG. 1 is an example of network architecture of a dynamic networkillustrating communication between user equipment and wireless accesspoints.

FIG. 2 is functional block diagram of one of the wireless communicationdevices of FIG. 1.

FIG. 3 illustrates a venue with a large number of distributed wirelessaccess points.

FIG. 4 illustrates a system architecture in which a venue communicateswith a Cloud network.

FIG. 5 illustrates the Cloud network of FIG. 4 communicating withmultiple venues.

FIG. 6 illustrates a large array of wireless access points distributedthroughout a sports venue.

FIG. 7 illustrates an array of wireless access points distributedthroughout a concert venue.

DETAILED DESCRIPTION OF THE INVENTION

The system described herein permits the distribution of a multiple videochannels through one or more wireless access points for reception by aplurality of wireless communication devices. FIG. 1 illustrates a system100 that illustrates an exemplary embodiment of the video distributionsystem. In the system 100, a plurality of video sources 102 areillustrated in FIG. 1 as VIDEO 1, VIDEO 2, VIDEO X. The video sources102 may be live video, such as produced by a video camera, or may beremote video feeds, such as provided by a television network. Then videofeed could also be an instant replay channel under control of a server.

A video server 104 is configured to receive the individual video streamsfrom the video sources 102. The video server 104 is implemented by oneor more conventional computing devices. The general operation of aserver is well known in the art and need not be described herein exceptas related to the specific video processing.

The video server 104 processes the multiple individual video streams andcreates a single stream of video data packets. In an exemplaryembodiment, the video server 104 creates a single stream video datapacket in accordance with a User Datagram Protocol (UDP), which is aconventional Internet communication protocol. As is known in the art,UDP is a simple transmission protocol with no handshaking and nointegrated error correction capabilities. On the other hand, UDP isuseful in time-sensitive applications where the error correctioncapabilities provided by other protocols, such as TCP, are undesirable.

UDP also provides for port numbers to be included in each UDP datapacket. In accordance with the present disclosure, the video server 104creates video data packets for each of the video streams from the videosources 102 but assigns a different port number for each of therespective video sources. For example, VIDEO 1 will be packetized into astream of UDP packets where each of the packets corresponding to theVIDEO 1 stream has the same port number. In contrast, the VIDEO 2 isencoded into a plurality of UDP data packets, but uses a different portnumber than the VIDEO 1 data stream. Thus, the video server 104 encodeseach video stream into separate UDP packets where the UDP packetscorresponding to each video stream are assigned different port numbers.

In this manner, the video server 104 creates a single stream of UDPpackets where the individual packets have different port numbers thatcorrespond to the video streams from the respective video sources 102.The stream of UDP packets are routed through an infrastructure 106 to aplurality of wireless access points (APs) 108. The particular form ofthe infrastructure 102 depends on the specific implementation of thesystem 100. However, the infrastructure 106 typically includes routers,switches, and may include a gateway. The function of the infrastructure106 is to route the UDP video packets from the video server 104 to oneor more of the APs 108. In addition, the infrastructure 106 routes datafrom the APs 108 to the video server 104.

In FIG. 1, the APs 108 are illustrated as AP 1, AP 2, AP Y. In anexemplary embodiment, the UDP video data packets are routed to all theAPs 108 such that each AP receives the same video data packets. In analternative embodiment, the data packets for different video sources canbe routed to selected ones of the APs 108. For example, all UDP packetswith a port number corresponding to the VIDEO 1 data stream can berouted only to AP 1 and AP 2. In contrast, the UDP data packets with aport number corresponding to the VIDEO 2 stream can be routed to all APs108. Thus, the system 100 has the ability to selectively route the UDPvideo packets to one or more of the APs 108 under control of the videoserver 104. In addition, the APs 108 must be configured to broadcast UDPdata frames and not block the broadcast of any UDP data frames.

FIG. 1 also illustrates a plurality of wireless communication devices,sometimes referred to as user equipment (UE) 110. The term UE isintended to include any wireless communication device capable ofprocessing audio, video, and text messaging. This includes smart phones,that may or may not include a network transceiver for communication witha public land mobile network (PLMN), laptops, PDAs, computer tablets(e.g., an iPad™), and the like. The system 100 is not limited by theparticular form of the communication device.

In FIG. 1, the UEs 110 are illustrated as UE1, UE2, . . . UE Z. As willbe described in greater detail below, the UEs 110 include programmingthat allows the individual UEs 110 to selectively receive UDP datapackets having a single selectable port number. Thus, each UE 110 canselect a particular video stream for viewing on a display of the UE 110by selecting the port number corresponding to the desired video stream.

The UEs 110 may be able to establish a communication link with more thanone AP 108. As illustrated in FIG. 1, UE 1 can communicate with both theAP 1 and AP 2 via respective wireless communication links 112. FIG. 1illustrates UE 2 as coupled only to the AP 2 via wireless communicationlink 112 while UE Z communicates with AP Y via wireless communicationlink 112. Thus, the UEs 110 are in wireless communication with one ormore of the APs 108.

Those skilled in the art will appreciate that the APs 108 aremulticasting multiple video channels to any UE 110 within range of anAP. This multicast approach is in contrast to conventional unicaststreaming. In unicast streaming, the AP 108 receives a data stream foreach individual UE 110. The requirement of one video stream for each enduser will quickly consume all of the available bandwidth for the AP. Incontrast, the UDP multicasting in accordance with the system 100described herein makes video streams available for an unlimited numberof UEs 110 that may be connected to an AP 108. The approach overcomesthe bandwidth limitations of unicast streaming. In addition, as will bedescribed in greater detail below, the application associated with theUDP multicast streaming functions as an equivalent to a TV guide forwatching different channels or video streams broadcast from the AP 108.A display on the UE 110 can be dynamically configured by the videoserver 104. In addition to the video streams, the video server 104 canalso send out a list of channels that are being provided via the APs108. Thus, the number of video streams from different video sources 102is limited by the bandwidth capacity of a particular AP 108. As APs 108use improved technology, the number of video sources 102 available formulticast streaming can also increase accordingly. However, the numberof available video streams is not limited by the number of UEs 110receiving data from any particular AP 108. That is, the number of UEs110 receiving data from a particular AP 108 is unlimited. Thus, thenumber of UEs 110 viewing video streams is effectively detached from thebandwidth limitation of the AP 108 itself. The system 100 permits theequivalent of broadcast television on the display 154 (see FIG. 2) asopposed to a classical television screen.

In operation, the video server 104 can receive the various video streamsfrom the video sources 102 in different formats. However, those skilledin the art will appreciate that certain formats may simplify the processof transcoding from a video stream to the UDP video packets. In anexemplary embodiment, the video data is formatted in accordance withMPEG-2. If the data is multimedia data, the audio data is formatted inaccordance with MPEG standards. If the video sources 102 provide videoin the MPEG-2 video format, the video server need not perform anyconversion. Furthermore, there are other optimization settings that areimposed by the video server 104, or more may already be provided by thevideo sources 102. For example, a video frame rate of 24-30 frames persecond provides a relatively smooth video display on the UE 110. Inanother example of optimization settings, the video server 104 mayprovide the video data at a rate of 64,000 bits per second (bps) to300,000 bps. The audio signal may be sampled at approximately 32,000bps. A video size of 320 pixels by 240 pixels or smaller is generallysatisfactory for the typical display 154 on the UE 110. As noted above,the video sources 102 may already provide the data in this format. Ifthe video sources 102 provide video data as an analog signal, the videoserver 104 must process the data accordingly.

In an exemplary embodiment, the video server 104 utilizes MPEG TS, whichrefers to a conventional encoding process for a transport stream. Thevideo server 104 provides UDP broadcast streaming and uses a UDPbroadcast address that is computed using the net mask and IP address.Those skilled in the art will appreciate that when a device connects toa WiFi source, such as the AP 108, it receives setting backs thatinclude a subnet net mask, IP address, and gateway. The broadcastaddress is processed in a conventional manner using this data. CurrentAPs 108 may be configured for operation in accordance with IEEE 802.11n.These devices are dual-band (i.e., 2.4 GHz and 5 GHz). In addition, manyaccess points are designed for operation with multiple input-multipleoutput (MIMO) antenna configurations. Under ideal conditions, suchdual-band AP 108 can generally support 10 or more video streams witheach video stream requiring approximately 1 megabit per second (Mbps).Those skilled in the art will appreciate that the distance between theAP 108 and the UE 110 is a significant factor for data throughput rates.However, in a typical venue 200, such as described herein, a largenumber of APs 108 can be positioned to provide a high quality signallevel to the UE 110.

FIG. 2 is a functional block diagram illustrative of one of the UEs 110illustrated in FIG. 1. The system 100 takes advantage of currentimplementations of the UE 110 that typically include multipleprocessors. As will be described in greater detail below, one processorin the UE is configured to handle communications with the AP 108 while asecond processor is configured for playback of received video data. TheUE 110 in FIG. 2 includes a plurality of central processing units (CPUs)150. The CPUs 150 are illustrated in FIG. 2 as CPU 1, CPU 2, . . . CPUW. Those skilled in the art will appreciate that the CPUs 150 may beimplemented as conventional microprocessors, an application specificintegrated circuit (ASIC), digital signal processor (DSP), programmablegate array (PGA), or the like. The UE 110 is not limited by the specificform of the CPUs 150.

The UE 110 in FIG. 2 also contains a memory 152. In general, the memory152 stores instructions and data to control operation of the CPUs 150.The memory 152 may include random access memory, ready-only memory,programmable memory, flash memory, and the like. The UE 110 is notlimited by any specific form of hardware used to implement the memory152. The memory 152 may also be integrally formed in whole or in partwith the CPUs 150.

The UE 110 of FIG. 2 also includes conventional components, such as adisplay 154, a keypad or keyboard 156, and an audio output device 158.In many UEs 110, the display 154 is a touch-sensitive display thatincorporates the functionality of the display 154 and the keyboard 156.These are conventional components that operate in a known manner andneed not be described in greater detail. Other conventional componentsfound in wireless communication devices, such as a USB interface,Bluetooth interface, camera/video device, infrared device, and the like,may also be included in the UE 110. For the sake of clarity, theseconventional elements are not illustrated in the functional blockdiagram of FIG. 2.

In some embodiments, the UE 110 of FIG. 2 also includes a networktransceiver 166 such as may be used by the UE 110 for the conventionalwireless communication network with the service provider PLMN (notshown), as described above. The network transceiver 166 is connected toan antenna 168. The network transceiver 166 is illustrated as a generictransceiver. The UEs 110 may be implemented in accordance with any knownwireless communication protocol including, but not limited to, CDMA,WCDMA, GSM, UMTS, 3G, 4G, WiMAX, LTE, or the like. Operation of thenetwork transceiver 166 and the antenna 168 for communication with thePLMN (not shown) is well-known in the art and need not be described ingreater detail herein.

The UE 110 of FIG. 2 also includes a short-range transceiver 176 that isused by the UEs 110 to communicate with the APs 108 of FIG. 1. Theshort-range transceiver 176 is connected to an antenna 178. In anexemplary embodiment, the antennas 168 and 178 may have commoncomponents are implemented as a single antenna.

The various components illustrated in FIG. 2 are coupled together by abus system 180. The bus system may include an address bus, data bus,power bus, control bus, and the like. For the sake of convenience, thevarious busses in FIG. 2 are illustrated as the bus system 180.

In an exemplary embodiment, the short-range transceiver 176 may bedesigned for operation in accordance with IEEE standard 802.11,sometimes referred to as WiFi. Most modern wireless communicationdevices are equipped with WiFi and may be readily upgraded to supportthe functionality described herein. A technique for establishingcommunication between the UEs 110 and the APs 108 using WiFi isdescribed in U.S. application Ser. No. 12/397,225, filed on Mar. 3,2009, now U.S. Pat. No. 7,970,351. Because the UEs 108 all include WiFicapability, the UEs may be designed for communication with the APs 108,regardless of the type of service provider PLMN or, indeed, in the totalabsence of the network transceiver 166 (see FIG. 1). Thus, the UE 110may operate under IEEE 802.11a at 5 gigahertz (GHz) under IEEE 802.11b/gat 2.4 GHz, or IEEE 802.11n, which operates at both 2.4 GHz and 5 GHz.Those skilled in the art will appreciate that the wireless communicationdevice of the system 100 may be readily adapted for operation withfuture versions of IEEE 802.11.

Various techniques for establishing the short-range communication links112 (see FIG. 1) are described in U.S. application Ser. No. 12/397,225filed on Mar. 3, 2009, now U.S. Pat. No. 7,970,351, U.S. applicationSer. No. 12/616,958 filed on Nov. 12, 2009, U.S. application Ser. No.12/958,296, filed on Dec. 1, 2010, U.S. application Ser. No. 13/093,988filed on Apr. 26, 2011, and U.S. application Ser. No. 13/363,943 filedon Feb. 1, 2012, the entire disclosures and content of which are herebyincorporated by reference in their entirety.

The user of a conventional wireless communication device can search fora wireless access point and connect to that access point, as is commonin public areas, such as an airport terminal, coffee shop, or the like.The goal of this connection is generally to provide Internet access.However, the UEs 110 described herein can include an application programinterface (API) that can be programmed into the UE at the time ofmanufacture or downloaded in a conventional manner. Some functionalityof the API will be described herein. A more complete description of theAPI is provided by U.S. patent application Ser. No. 13/093,998 andtitled System and Method for Management of a Dynamic Network UsingWireless Communication Devices, filed on Apr. 26, 2011 and incorporatedherein by reference in its entirety. The API becomes part of theoperating system in that it is always executing in the background. Inthis manner, the API is different from a conventional applicationsoftware program that must be activated by the user. In one aspect, theAPI includes a “heartbeat” signal that periodically communicates withany available AP 108 and provides identification data, location data andthe like to a database server 232 (see FIG. 4). In addition, the APIadvantageously simplifies authentication of the UE whenever it enters avenue that is part of the system described herein.

In FIG. 1, the UE 1 has established the wireless communication links 112with the AP 1 and AP 2, respectively. As the user moves from onelocation to another in a particular venue, he may move in or out ofrange of one AP 108 or the other. Thus, the UE 110 can receive the videostream from one of the plurality of APs 108 distributed throughout thevenue.

In operation, the API or a separate application program provides a setof instructions to two of the CPUs 150 to perform specific tasks. Inparticular, a first processor (e.g., CPU 1) is programmed with nativecode to perform the task of capturing data packets received from the APs108 and storing the received data packets. As used herein, the term“native code” refers to software code that has been compiled toprocessor-specific machine code. In the example described herein, CPU 1is responsible for capturing all data packets that have a specified portnumber. The CPU 1 is programmed to provide the singular function ofcapturing UDP data packets having the designated port number and storingthose captured data packets in the memory 152.

While the CPU 1 is programmed with native code to perform the functionof capturing and storing UDP data packets, a second processor (e.g., theCPU 2) is also programmed with native code to perform the function ofretrieving the stored data packets and playing them on the display 154.In addition, if the captured video stream is a multimedia stream, theCPU 2 also provides audio data to the audio output device 158.

In one embodiment, the CPU 1 stores the UDP data packets for a shorttime and then closes the file in which the received data packets arestored. This permits a second processor, the CPU 2, to open the file andplay back the received data packets on the display 154. In thisembodiment, the CPU 1 saves the received UDP data packets as a series offiles that are closed after a short period of time while the CPU 2 opensthe closed files and plays the received UDP packets on the display. Ifthe received data packets are multimedia data packets, the CPU 2 alsosends data to the audio output device 158.

In an alternative embodiment, the operation of the CPU 1 and CPU 2 istightly integrated so that both the CPU 1 and the CPU 2 can access thesame file in the memory 152. In this embodiment, there is only a singledata file with the CPU 1 placing received data packets in the data filein the memory 152 while the CPU 2 retrieves and plays the data packetsfrom the single data file in the memory 152 on the display 154 and theaudio output device 158 if the video stream is a multimedia file.

The efficient native code programming of the CPU 1 and CPU 2 allows theUE 110 to effectively capture and play back a video data stream. In theUE 110, the CPU 1 is programmed for the singular function of capturingand storing UDP data packets while the CPU 2 is programmed for thesingular function of retrieving and playing the stored UDP data packets.The tight operation of the CPU 1 and CPU 2 permit the effective captureand play of UDP data packets at an acceptable frame rate to effectivelyprovide streaming video or streaming multimedia to the UE 110 from theAPs 108 within a venue.

FIG. 3 illustrates a large venue 200, such as a casino. In such a largevenue, there may be related businesses 202-206 located within or nearthe venue 200. In the casino example, the related business 202 may be aperformance venue for singers, comedy acts, and the like. The relatedbusiness 204 may be a nightclub while the related business 206 may be arestaurant.

Due to the large size of the venue 200, it may be necessary to deploy anetwork of APs 108. The position and coverage area of the APs 108 can bedetermined based on the particular hardware implementation. The actualdistribution and installation of the APs 108 using the infrastructure106 (see FIG. 1) within the venue 200 is within the engineeringknowledge of one skilled in the art and need not be described in greaterdetail herein.

In the embodiment of FIG. 3, all of the APs 108 are coupled to the videoserver 104 in FIG. 1. As the UE 110 moves throughout the venue 200, itis making and breaking wireless communication devices with one or moreof the APs 108. Thus, the UE 110 can receive a selected streaming videochannel anywhere within the venue 200.

The identity of the UE 110 can be verified by the UE providing a profileand user information and signing up for the WiFi service and downloadingthe API. Initially this may be accomplished through a portal page, aswill be described in greater detail below.

Once the identity of the UE 110 has been verified, the video server 104can provide a selection of available video streams. For example, aselection of available video streams may be shown on the display 154,which may also be a touch-sensitive display. In a typical embodiment,there is a short description of the video stream along with a selectionbutton shown on the display 154. The user simply taps the display 154near the description of the desired video stream. The port numberassociated with the selected video stream is supplied to the CPU 1 tobegin the video streaming process. In an exemplary embodiment, the CPU 1and CPU 2 may use progressive downloading so that a short segment of thevideo stream is captured by the CPU 1 before the CPU 2 begins theplay-out process. This allows a smoother transition to video streamingand avoids any initial buffer starvation. In the casino venue 200illustrated in the example of FIG. 3, the available video streams couldbe parimutuel events (i.e., horse races), sporting events (e.g.,football, baseball, basketball, etc.), instructional videos, such asrules and/or tips on playing certain games within the casino, or thelike. The user simply taps the display 154 near the desired video streamand the video streaming will begin. While the UE 110 remains within thevenue 200, it is in substantially continuous contact with the APs 108and may receive data therefrom. During a lull in activity in the videostreaming, such as a timeout in the sporting event, the venue mayprovide its own advertising or other information to the UE 110. The adsmay take the form of still images, videos similar to commercialtelevision ads, or the like. The received videos can also have bannerads included or the video server 104 (see FIG. 1) can modify the videofeeds to include advertising spliced into the video feed. This requiresvideo processing equipment that is known in the art for this purpose.Furthermore, the heartbeat data, described above, can be used to providea personal targeted advertising for an individual UE 110 as part of astreaming video on a particular channel. For example, the UE 110 couldreceive an ad for free or discounted tickets to the performance venue202 or an invitation to happy hour at the nightclub venue 204 or adiscounted meal at the restaurant venue 206. If the owner of a UE 110 isnot a registered guest at a hotel within the venue 200, the APs 108could send an invitation or ad to book a room in the venue 200. The UE110 can communicate with the video server 104 or another server (notshown) within the venue 200 via the APs 108 to accept one or more of thead offers. For example, the UE 110 could transmit an acceptance and booktickets at the performance venue 202. Similarly, the user of the UE 110can book a room in the venue 200.

FIG. 4 illustrates a system architecture that allows operation of thesystem 100 across multiple venues. As discussed above with respect toFIG. 3, the venue 200 may have a large number of APs 108 distributedthroughout the venue. The various APs 108 are coupled together using theinfrastructure 106. Among other things, the infrastructure allows aninterconnection to a network 210 via a communication link 212. In atypical embodiment, the network 210 may be implemented as the Internet.In addition to the communication link 212, the infrastructure 106provides a backhaul 214 to a cloud computing environment designatedherein as a JUMMMP Cloud 216. The backhaul 214 may be implemented in avariety of different manners using known technology. In one embodiment,the backhaul 214 may be routed to the JUMMMP Cloud 216 via the network210.

Within the JUMMMP Cloud 216 are a number of components. A web portalpage and policy controller server 220 controls user authenticationacross a number of different venues in addition to the venue 200. Anetwork management element 222 controls overall operation of the networkin the JUMMMP Cloud 216 including registration and authenticationservices. FIG. 4 illustrates a log-in web page 224.

A local ad server 230 in the JUMMMP Cloud 216 may provide ads for thevenue 200. As discussed above, the ads may be still images or streamingvideo and may be directed to the venue 200 itself or for the relatedbusinesses 202-206 (see FIG. 3). In addition, the ads may be forbusinesses near the venue 200 (or for other venues in the JUMMMPnetwork). The centralized ad server 230 in the JUMMMP Cloud 216simplifies the network architecture within the venue 200 and othervenues by eliminating the need for an ad server within each venue.

A data base server 232 in the JUMMMP Cloud 216 may be configured tocollect a broad range of information regarding the UEs 110 (includingthe user profile information stored in the memory 156 (see FIG. 2) ofthe UE that was provided when the UE was first identified in the venue.The profile information will help provide targeting marketing andadvertising to the UE 110 as it traverses the venue. In addition, theprofile information may be used to select the streaming videos that maybe provided to the user. For example, if the user profile indicates thatthe owner of the UE 110 is an avid football fan, the selections of videostreams may include multiple football games. As previously discussed,the heartbeat signal from the UE 110 may include geo-location data. Thedatabase server 232 is configured to store location information, alongwith time/date data to thereby track movements of the UE 110.

The UE 110 must register with the system 100 at some initial point intime. The initial registration can be performed remotely using, by wayof example, a personal computer (not shown) connected to the JUMMMPCloud 216 via the network 210. In another variation, the UE 110 canperform an initial registration as it enters the venue 200 illustratedin FIG. 4, as described above. When the UE 110 initially contacts one ofthe APs 108, the policy controller server 220 will not have any datarelated to the particular UE 110. In this case, that initial AP 108 inthe venue 200 may perform an initial registration. For the initialregistration, the UE 110 can connect to the initial AP 108 and provideidentification information. In an exemplary embodiment, the user cancomplete the initial registration process by providing data, such as thetelephone ID (i.e., the phone number), a device ID, a user ID, and anemail address as well as other information, such as the user profiledata stored in the memory 156 (see FIG. 2) of the UE 110. The user IDmay be a user generated name, nickname, or the like. The device ID mayvary based on the particular type of the UE 110. For example, if the UE110 utilizes an Android™ operating system, the device will be assignedan Android™ ID. In addition, the UE 110 may typically be assigned aninternational mobile equipment identification (IMEI). Any of thesedevice identifications alone may be transmitted to the registrationserver 222. In another alternative embodiment, a unique hash of one ormore device IDs may be generated and transmitted to the registrationserver 222 as the device ID. The short-range transceiver 176 (see FIG.2) may also include an identification, such as a MAC address that isunique to the UE 110. The registration data described above can beprovided to the registration server 222 along with the MAC address. Theregistration data may be stored in association with the MAC address.Once the initial registration process has been completed, subsequentauthentications are greatly simplified.

In one embodiment, a previously-registered UE 110 may come within rangeof the initial AP 108 in the venue 200 of FIG. 4 and establish awireless communication link therewith. In establishing the communicationlink, the UE 110 transmits its MAC address and/or the phone ID or IMEI.The AP 108 transmits an authentication request message to theregistration server 222 to determine whether the UE 110 is a registereddevice. Based on the MAC address, the registration server 222 canconfirm that the UE 110 has previously registered. Thus, the UE 110 isauthenticated whenever it comes into range of an AP 108 of the system100. This may occur transparently to the user. This automaticauthentication process can occur even if the initial registration was ina completely different part of the country. Thus, the UE 110 may movefrom one venue 200 to another in the same city or region or may be in acompletely different part of the country and be automatically identifiedand authenticated with APs 108 that are part of the system 100 describedherein. This convenient registration and authentication avoids the needfor constantly searching for a WiFi connection as required by othersystems. Based on this automatic authentication process, the UE 110 maybe automatically connected to the WiFi network created by the APs 108 inthe venue 200.

The registration process at a single venue has been discussed above withrespect to FIG. 4. The JUMMMP Cloud 216 also advantageously provides acentralized registration function for multiple venues, as illustrated inFIG. 5. The multiple venues 200 are each connected to the JUMMMP Cloud216 via individual respective backhauls 214. If a UE 110 initiallyregisters at Venue 1, using the registration process described above,that registration information is stored in the JUMMMP Cloud 416. At alater point in time when the user enters, by way of example, Venue 2illustrated in FIG. 5, the UE 110 will automatically identify the AP 108and begin to communicate therewith. Because the UE 110 has already beenregistered, that information is passed along to the JUMMMP Cloud 216 andthe UE is automatically authenticated. This is true even if the variousvenues 200 are located far from one another. For example, an initialregistration of the UE 110 may take place at a sports venue in, by wayof example, New York City. However, if the UE 110 is carried to a casinoin, by way of example, Las Vegas, Nev., the UE 110 will automaticallybegin to communicate with the AP 108 in the new venue in Las Vegas.Because each venue is coupled to the JUMMMP Cloud 216, the UE 110 neednot undergo another registration process when it enters the venue 200 inLas Vegas. Thus, a single registration process at any venue issufficient for registration with the JUMMMP Cloud 216. Whenever the UE110 goes into a different venue 200 that is coupled to the JUMMMP Cloud216, the UE 110 is automatically recognized and authenticated.

In another example of a business-related implementation, the venue 200may be a football stadium, as illustrated in FIG. 6, or some othersports venue. In this embodiment, the APs 108 are distributed throughoutthe structure of the sports venue. The UE 110 communicates with one ormore of the APs 108 in the manner described above. The UE 110 canperform an initial registration process or an automatic authenticationprocess, as described above. The APs 108 maintain virtually continuouscontact with the UE 110 while it is within the sports venue 200. Asdiscussed with respect to FIG. 4, the APs 108 are coupled to theinfrastructure 106 to allow the distribution of multiple video channelsto all of the UEs 110 within the sports venue 200. For example, onevideo channel can provide an overall view of the playing field whileother video channels may provide close-up video streams of the lineplay, the quarterback, the receivers, and the like. The user may selectwhich video stream to view on the UE 110. However, all of the videostreams described above may be made available for selection by any ofthe UEs 110 within the venue 200. In addition, the JUMMMP Cloud 216 candisseminate information to the UEs 110 in the manner described above.The disseminated information may be in the form of advertisements fromvendors within the venue 200, future availability of videos (e.g.,upcoming sports events), and the like.

The JUMMMP Cloud 216 may also provide streaming video to the UE 110. Forexample, if the sports venue in FIG. 6 is a football stadium, the JUMMMPCloud 216 may provide streaming video highlights or even complete gamesfrom a different football stadium that is also coupled to the JUMMMPCloud 216. While some stadiums provide selected replays on a largescreen TV or other display 228 for fans, such displays are not availableif the user is away from the field to get a drink, go to the bathroom,etc. However, with the system described herein, the instant replay maybe provided directly to the UE 110 at virtually any location throughoutthe sports venue 200. In this embodiment, the instant replay may bemulticast to all UEs 110 within the sports venue 200 by the multitude ofAPs 108. Alternatively, the system 100 can provide a video channel witha delay (e.g., 30 seconds) so that the UE 110 can always go back andreview recent plays. Those skilled in the art will appreciate that theinstant replay described herein is distinct from an “on-demand” form ofinstant replay. An on-demand system requires unicast delivery of theinstant replay to each and every UE that transmits such a request. Asdiscussed above, unicast delivery of video would quickly consume allavailable bandwidth in a typical AP 108. Accordingly, the instant replaydescribed herein refers to video replay that is under control of thesender (e.g., the video server 104 in FIG. 1). The video server 104selects the video that will be made available as a replay and transmitsthe replay video as a series of UDP packets with a separate port number,as described above. Thus, the instant replay is a multicast video streamavailable to all UEs 110 as a separate channel. The user can simplyswitch to the replay channel to view this video stream.

In one embodiment, the instant replay for the venue 200 (see FIG. 4) maybe provided by the JUMMMP Cloud 216 to the video server 104 (see FIG.1). In yet another embodiment, the video server 104 (see FIG. 1)receives a local feed of the streaming media or instant replay foractivities within that local sports stadium.

In the examples provided above, the APs 108 are in fixed locationsthroughout the venue 200 to maximize coverage throughout the venue. Thisis true whether the venue 200 is a fixed facility, such as the casinovenue or sports venue. However, the system described herein is flexibleenough to provide temporary coverage in a venue that does not havepreexisting coverage. For example, a concert hall may not have existingcoverage through a network of APs as described above. For example, aconcert venue at the state fair may be temporary in nature. Similarly, aconcert venue may be constructed temporarily at an open air location(e.g. Woodstock or a speedway). In yet another example, some venues,such as a racetrack or a golf course, may not have an existinginfrastructure of APs 108. In yet another example embodiment, the systemdescribed herein can provide a temporary mobile venue infrastructure,which may be referred to herein as “WiFi on Wheels” (WoW). An example ofa WoW implementation is illustrated in FIG. 7. The example of FIG. 7 isa temporary concert venue, such as may be common at a state fair orother location. A stage 240 and grandstands 242 may be positioned withinthe venue 200. The location of the APs 108 throughout the venue 200 maybe dependent on the location of the stage 240 and the grandstands 242 toprovide the necessary coverage. In this embodiment, the APs 108 may bemounted on existing infrastructure, such as telephone poles, lightpoles, and the like. The APs 108 may also be mounted directly to thestage 240 or the grandstand 242. A control truck 244 or other mobilevehicle may contain the additional infrastructure for the temporaryconcert venue 200. For example, the control truck 244 may contain thevideo server and infrastructure 106 (see FIG. 1) to provide thenecessary connection to the JUMMMP Cloud 216. The control truck 244 mayalso include a satellite link to implement the backhaul 214. Thebackhaul 214 can also be implemented as a microwave link from thecontrol truck 244 or a hardwired connection if available. Thus, the WoWimplementation of FIG. 7 can be set up and removed in a relatively shortperiod of time.

In operation, the concert venue 200 operates in the same mannerdescribed above with respect to other venues. That is, the UE 110 isautomatically authenticated if the UE 110 has previously beenauthenticated with the JUMMMP Cloud 216. If the UE 110 has never beenregistered with the JUMMMP Cloud 216, the UE undergoes an initialregistration process described above with respect to FIG. 4. Thus, theconcert venue 200 operates in a functionally identical manner to thefixed venues described above. For example, the concert venue 200 in FIG.7 may offer multiple video channels such as an overall view of theconcert stage, close-ups of the concert stage, close-ups of individualperformers on the stage, or the like. The user can simply select thedesired streaming video channel from the available selection shown onthe display 154 (see FIG. 2). In addition, as described above, the venue200 may provide video advertisements on the selected channel.

In an alternative embodiment, the video server 104 (see FIG. 1) can sendcommand data to all APs 108 within the venue 200 or to selected APswithin the venue to force the UEs 110 to change port numbers forprocessing by the CPU1 (see FIG. 2). This effectively causes the UE 110to “change channels.” That is, the UE 110 receives a data command andchanges the port number for the received UDP data packets. As describedabove, the CPU1 will identify and save all UDP data packets having aselected port number. In this instance, the initial port number isaltered via a data command from the video server 104.

For example, in the sports venue 200 illustrated in FIG. 6, it may bepossible to cause some or all of the UEs 110 to change channels andreceive a commercial during a time out. After the commercial, or whenthe time out ends, the individual UEs 110 can automatically revert backto the original channel by reinstating the initial port number used bythe CPU1. Alternatively, the UEs 110 can switch back to the initial portnumber upon receipt of an additional data command from the video server104.

Examples of the multiple video channels in a venue have been providedfor a casino, a football stadium, and a concert venue. However, thoseskilled in the art will appreciate that the principles of the system 100can be readily extended to other settings. For example, a race track(i.e., an auto race track or a horse race track) can provide streamingvideo to the UEs 110 from different vantage points throughout the racetrack. For example, in the case of automobile racing, it is possible tohave one or more video channels directed to the pit area, video channelsfor different turns or portions of the race track, video channels thatfocus on individual race leaders or fan favorites, in-car video, and thelike. The UE 110 can simply select which streaming video to receive byselecting the appropriate channel in the manner described above. Inaddition, the user can readily change channels at the push of a button.

In another example, APs 108 may be distributed around a golf courseduring a golf tournament. Because a golf tournament generally lasts onlya few days, the temporary installation described above with respect to aconcert venue may be applicable here as well. That is, APs 108 may bedistributed throughout the golf course and coupled to the control truck244 (see FIG. 7) or other control installation. In this embodiment, thevideo server 104 (see FIG. 1) is typically installed within the controltruck 244 or other control installation. In this example, various videostreams could be provided for different holes on the golf course, videoof individual players, such as the current leaders, fan favorites or thelike. Again, the UE 110 simply selects the desired video stream fromamong the available selections by activating a selected channel on thedisplay 154 (see FIG. 2).

Although several example venues and applications have been discussedherein, those skilled in the art will appreciate that the system is notlimited to these examples. Thus, the system described herein enables thedelivery of a large number of video streams via a network of APs andallows each UE to select which channel to view.

The foregoing described embodiments depict different componentscontained within, or connected with, different other components. It isto be understood that such depicted architectures are merely exemplary,and that in fact many other architectures can be implemented whichachieve the same functionality. In a conceptual sense, any arrangementof components to achieve the same functionality is effectively“associated” such that the desired functionality is achieved. Hence, anytwo components herein combined to achieve a particular functionality canbe seen as “associated with” each other such that the desiredfunctionality is achieved, irrespective of architectures or intermedialcomponents. Likewise, any two components so associated can also beviewed as being “operably connected”, or “operably coupled”, to eachother to achieve the desired functionality.

While particular embodiments of the present invention have been shownand described, it will be obvious to those skilled in the art that,based upon the teachings herein, changes and modifications may be madewithout departing from this invention and its broader aspects and,therefore, the appended claims are to encompass within their scope allsuch changes and modifications as are within the true spirit and scopeof this invention. Furthermore, it is to be understood that theinvention is solely defined by the appended claims. It will beunderstood by those within the art that, in general, terms used herein,and especially in the appended claims (e.g., bodies of the appendedclaims) are generally intended as “open” terms (e.g., the term“including” should be interpreted as “including but not limited to,” theterm “having” should be interpreted as “having at least,” the term“includes” should be interpreted as “includes but is not limited to,”etc.). It will be further understood by those within the art that if aspecific number of an introduced claim recitation is intended, such anintent will be explicitly recited in the claim, and in the absence ofsuch recitation no such intent is present. For example, as an aid tounderstanding, the following appended claims may contain usage of theintroductory phrases “at least one” and “one or more” to introduce claimrecitations. However, the use of such phrases should not be construed toimply that the introduction of a claim recitation by the indefinitearticles “a” or “an” limits any particular claim containing suchintroduced claim recitation to inventions containing only one suchrecitation, even when the same claim includes the introductory phrases“one or more” or “at least one” and indefinite articles such as “a” or“an” (e.g., “a” and/or “an” should typically be interpreted to mean “atleast one” or “one or more”); the same holds true for the use ofdefinite articles used to introduce claim recitations. In addition, evenif a specific number of an introduced claim recitation is explicitlyrecited, those skilled in the art will recognize that such recitationshould typically be interpreted to mean at least the recited number(e.g., the bare recitation of “two recitations,” without othermodifiers, typically means at least two recitations, or two or morerecitations).

Accordingly, the invention is not limited except as by the appendedclaims.

The invention claimed is:
 1. A system for the broadcast of a pluralityof video streams from different video sources to a plurality of mobilecommunication devices, comprising: a server configured to receive theplurality of video streams and to convert the plurality of video streamsto a single stream of video data packets with each of the plurality ofvideo data packets for respective ones of the video streams beingassigned a port number corresponding to the respective video stream; aplurality of wireless access points (APs) communicatively coupled to theserver to receive the video packets therefrom, the APs being configuredto broadcast the stream of video packets; and a routing infrastructurecoupled to the server and the plurality of APs to relay communicationsbetween the server and the plurality of APs, the routing infrastructurebeing configured to route the stream of video data packets to selectedones of the plurality of APs.
 2. The system of claim 1 wherein theserver is further configured to send command data to a selected one ofthe plurality of mobile communication devices to instruct the selectedmobile communication device to receive the plurality of video datapackets having a port number designated by the command data.
 3. Thesystem of claim 1 wherein the server is further configured to send guidedata to the plurality of mobile communication devices to thereby provideinformation describing the content of selected ones of the plurality ofvideo streams.
 4. A system for the broadcast of a plurality of videostreams from different video sources to a plurality of user equipment(UE) mobile communication devices, comprising: a server configured toreceive the plurality of video streams and to convert the plurality ofvideo streams to a single stream of video data packets with each of theplurality of video data packets for respective ones of the video streamsbeing assigned a port number corresponding to the respective videostream; a wireless access point (AP) communicatively coupled to theserver to receive the video packets therefrom, the AP being configuredto multicast the stream of video packets to an unlimited number of UEswherein a bandwidth capacity for the AP determines a maximum number ofthe plurality of video streams but wherein the maximum number of theplurality of video streams is unrelated to the number of UEs receivingany of the plurality of video streams; and a routing infrastructurecoupled to the server and the AP to route the video packets from theserver to the AP.
 5. The system of claim 4 wherein each of the pluralityof UEs can receive any of the plurality of video streams by selecting aport number corresponding to the selected video stream.
 6. The system ofclaim 4 wherein the server is further configured to send guide data tothe plurality of UEs to thereby provide information describing thecontent of selected ones of the plurality of video streams.
 7. A methodfor the broadcast of video data to a plurality of mobile communicationdevices in a venue, comprising: receiving a plurality of video streamsat a video server; within the video server, converting the plurality ofvideo streams to a single stream of video data packets with each of aplurality of video data packets for a respective one of the videostreams being assigned a port number corresponding to the respectivevideo stream; routing the stream of video data packets from the serverto the plurality of APs via a routing infrastructure; and broadcastingthe stream of video data packets from each of a plurality of wirelessaccess points (APs) distributed around the venue.
 8. The method of claim7, further comprising: in each of the plurality of mobile communicationdevices communicatively coupled to at least one of the plurality of APs,receiving ones of the stream of video data packets having a selectedport number; and displaying the selected received stream of video datapackets on a display of the respective ones of the plurality of mobilecommunication devices.
 9. The method of claim 8 wherein the stream ofvideo data packets are generated using a User Datagram Protocol.
 10. Themethod of claim 8, further comprising sensing user operation of an inputelement on a first of the plurality of mobile communication devices toalter the selected port number to thereby cause the first mobilecommunication device to receive different ones of the stream of videodata packets having the altered port number to thereby receive anddisplay a different video stream corresponding to the altered portnumber.
 11. The method of claim 8 wherein a first of the plurality ofmobile communication devices is configured to receive ones of the streamof video data packets having an initial port number, the method furthercomprising sensing reception of command data from one of the pluralityof APs at the first mobile communication device to thereby alter theinitial port number and cause the first mobile communication device toreceive different ones of the stream of video data packets having thealtered port number to thereby receive and display a different videostream corresponding to the altered port number.
 12. The method of claim11, further comprising changing back from the altered port number to theinitial port number to cause the first mobile communication device toreceive ones of the stream of video data packets having the initial portnumber to thereby receive and display the video stream corresponding tothe initial port number.
 13. The method of claim 12 wherein changingback from the altered port number to the initial port number is inresponse to sensing reception of command data from one of the pluralityof APs at the first mobile communication device to thereby change thealtered port number to the initial port number.
 14. The device of claim8, further comprising: the plurality of mobile communication devicesreceiving guide data from at least one of the plurality of APs, theguide data providing information about the content of each of theplurality of video streams; displaying the received guide data on thedisplay of the respective ones of the plurality of mobile communicationdevices; sensing user operation of an input element on a first of theplurality of mobile communication devices to select a desired videostream based on the displayed guide data; and receiving ones of thestream of video data packets having a port number corresponding to theuser-selected video stream.
 15. The method of claim 7 wherein the streamof video data packets are generated using a User Datagram Protocol. 16.The method of claim 7, further comprising temporarily installing atleast a portion of the plurality of APs at a plurality of locationsthroughout the venue prior to an event.
 17. The method of claim 16,further comprising removing the plurality of APs temporarily installedat the plurality of locations throughout the venue following the event.18. The method of claim 7 wherein the venue is a concert venue.
 19. Themethod of claim 7 wherein the venue is a sporting venue.
 20. The methodof claim 7, further comprising generating at least a portion of theplurality of video streams within the venue.
 21. The method of claim 7,further comprising generating at least a portion of the plurality ofvideo streams at a location remote from the venue.
 22. The method ofclaim 7 wherein at least a portion of the plurality of video streams aregenerated by a television network and delivered to the control facility.23. The method of claim 7 wherein receiving the plurality of videostreams comprises: receiving a plurality of television channels asindividual respective multimedia data streams.
 24. The method of claim23 wherein the stream of multimedia data packets are generated using aUser Datagram Protocol.
 25. The method of claim 23, further comprisinggenerating a video stream within the venue wherein receiving furthercomprises receiving the video stream generated within the venue as anadditional one of the individual respective multimedia data streams. 26.The method of claim 23 wherein receiving further comprises receiving avideo stream generated at a location remote from the venue as anadditional one of the individual respective multimedia data streams. 27.The method of claim 23, further comprising initially selecting the portnumber corresponding to each of the respective multimedia data stream topermit each of the plurality of mobile communication devices to receiveone of the stream of multimedia data packets having the initiallyselected port number.
 28. The method of claim 27, further comprisingaltering the initially selected port number corresponding to one of themultimedia data streams wherein the one multimedia data stream has aport number different from the initially selected port number.
 29. Themethod of claim 23, further comprising transmitting guide data from atleast one of the plurality of APs, the guide data providing informationabout the content of each of the plurality of multimedia data streamsand data corresponding to the port number for each of the plurality ofmultimedia data streams.